package zww.study.basic;

//import zww.study.basic.Student;

public class ClassObjectStudy {
    public static void main(String[] args) {
        // 类：抽象提取
        // 对象：new 一个类
        // 实例化对象
        Student stu = new Student();
        stu.study();
    }
// 成员变量和局部变量
    /*
     *  成员变量（类中方法外） 局部变量（方法内部或者方法声明上）
     *  成员变量（堆内存） 局部变量（栈内存）
     *  生命周期不同（成员随对象的存在和消失；局部变量随着方法的调用存在和消失）
     *  初始化值不同（成员变量：有默认初始化值，局部变量：没有默认初始化值，必须先定义，赋值才能使用）
     *
     * */

//    封装
    // private关键字是一个修饰符，可以用来修饰成员（成员变量，成员方法）
    // private修饰的成员，只能在本类进行访问，针对private修饰的成员变量，如果需被其他类使用，要设置相应的操作
    // 提供“get变量名()”方法，用于获取成员变量的值，方法用public修饰
    // 提供“set变量名(参数)”方法，用于设置成员变量的值，方法用public修饰

//    this关键字：
    //  this修饰的变量用于指代成员变量，其主要作用是（区分局部变量和成员变量的重名问题）
    //  方法的形参如果与成员变量同名，不带this修饰的变量指的是形参，而不是成员变量
    //  方法的形参没有与成员变量同名，不带this修饰的变量指的是成员变量

    // this代表当前调用方法的引用，哪个对象调用的方法，this就代表哪一个对象

//   封装思想:
//   将类的某些信息隐藏在类内部，不允许外部程序直接访问，而是通过该类提供的方法来实现对隐藏信息的操
//      作和访问,成员变量private，提供对应的getXxx()/setXxx()方法
}
